iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
1
AI & Data

一名合格的DBA要從底層一步步爬起系列 第 3

《Day3》運用SQL來與資料庫溝通

  • 分享至 

  • xImage
  •  

想要操作資料庫的話,我們必須對它下達「指令」,所以必須先來學習它認識的語言,而這個語言就是昨天提到的SQL了哦,讓我們來認識一下SQL的來歷吧!

結構化查詢語言(Structured Query Language)

簡稱SQL,最早的時候是IBM公司在研究一套「System R」資料庫管理系統時,定義出來的語言,其實當時稱為「SEQUEL」,不過在註冊商標時發現,已經有其他航空公司註冊過了,所以也就改名為「SQL」。

SQL主要分為三個類別。
DDL(Data Definition Languages):資料定義語言。
DML(Data Manipulation Language):資料操作語言。
DCL(Data Control Language):資料控制語言。

DDL(資料定義語言)

用來定義資料庫內部的物件,可以對資料庫、表、列、索引進行建立、移除、修改等操作,大部分是DBA(Database Administrator)資料庫管理員會使用到。

常用的指令:create(建立)、drop(移除)、alter(修改)。
先簡單的使用MySQL資料庫操作給大家看看。

EX: 建立資料表「test」,欄位名稱為「id」、「name」。

mysql > create table test(id int ,name varchar(20));

EX: 移除資料表「test」。

mysql > drop table test;

EX:將資料表「test」名稱修改為「test2」。

mysql > alter table test rename test2;

DML(資料操作語言)

可以對資料表的紀錄做新增、刪除、更新、查詢等操作,是開發人員最常使用的。

常用的指令:insert(新增)、delete(刪除)、update(更新)、select(查詢)。

EX: 在資料表「test」中新增一筆id為「1」,Name為「Nini」的紀錄。

mysql > insert into test values(1, 'Nini');

EX:將資料表「test」中,將name為「Nini」的紀錄刪除。

mysql > delete from test where name= 'Nini ';

EX:將「Nini」的id更新為「2」。

mysql > update test set id=2 where name= 'Nini ';

EX:查詢資料表「test」中所有資料。
「*」表示全部欄位

mysql > select * from test;

https://ithelp.ithome.com.tw/upload/images/20200907/20129969A21gMXsVi6.png

DCL(資料控制語言)

用來控制不同資料庫、表、使用者的存取權限。

常用的指令:grant(給予權限)、revoke(收回權限)。

EX:給予使用者「Andy」有查詢資料庫「test01」中「test」資料表的權限。

mysql > grant select on test01.test to 'andy ';

https://ithelp.ithome.com.tw/upload/images/20200907/201299698NwcmqhLNC.png

EX:收回使用者「Andy」對資料庫「test01」中「test」表的查詢權限。

mysql > revoke select on test01.test from 'andy ';

https://ithelp.ithome.com.tw/upload/images/20200907/201299697pRL8Uv4mW.png

現在對SQL語法都有基本的認識了,再來我們就來認識一下資料的型態吧!


上一篇
《Day2》關聯式資料庫
下一篇
《Day4》資料庫 【資料型態】
系列文
一名合格的DBA要從底層一步步爬起30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言